package Sparse_Arrays_01;

/*
 * @Author 罗
 * @date 2020/3/10 - 9:22 下午
 *
 */

import Sparse_Arrays_01.Entity.ChestData;

public class RecoverFromSparseArray {

    public void recoverFromParseArray(ChestData[] parse){
        /*        ---------------->将稀疏数组转为原数组
                先读取稀疏数组的第一行，根据第一行的数据，创建原始的二维数组
         */
        int[][] recoverChest = new int[parse[0].getColumn()][parse[0].getRow()];
//                System.out.println(parse[0].getColumn()+"\t"+parse[0].getRow());
//        一定是从1开始，因为0用来存储恢复数组的数据，恢复数组的行*列，总共有几个有效值
        for (int i = 1; i <= parse[0].getValue(); i++) {
//            读取稀疏数组后几行（非第一行的数据），并且赋值给原始的二维数据
            recoverChest [parse[i].getColumn()][parse[i].getRow()] = parse[i].getValue();
        }
        for (int[] ints : recoverChest) {
            for (int anInt : ints) {
                System.out.print(anInt+"\t");
            }
            System.out.println();
        }
    }

}
